cmdtrace
Print trace statement for specified commands
Syntax
cmdtrace level | on [ noeval ] [ notruncate ] [ procs ] [ fileid ] | off | depth
Description
Prints a trace statement for all commands executed at depth of
level or below (1 is the top level). If
on is specified, all commands at any level are
traced. The following options are available:
- noeval
- Causes arguments to be printed unevaluated. If
noeval is specified, the arguments are printed before
evaluation. Otherwise, they are printed afterwards.
If the command line is longer than 60 characters, it is
truncated to 60 and a ``...'' is postpended to indicate that there was
more output than was displayed. If an evaluated argument contains a
space, the entire argument is enclosed within braces ({}) to allow the
reader to visually separate the arguments from each other.
- notruncate
- Disables the truncation of commands and evaluated arguments.
- procs
- Enables the tracing of procedure calls only. Commands
that are not procedure calls (that is, calls to commands that are
written in C, C++ or some object-compatible language) are not traced
if the procs option is specified. This option is
particularly useful for greatly reducing the output of
cmdtrace while debugging.
- fileid
- This is a file id as returned by the open command. If specified,
then the trace output will be written to the file rather than stdout.
A stdio buffer flush is done after every line is written so that the
trace may be monitored externally or provide useful information for
debugging problems that cause core dumps.
- cmdtrace off
- Turns off all tracing.
- cmdtrace depth
- Returns the current maximum trace level, or zero if trace is
disabled.
The most common use of this command is to enable tracing
to a file during development. If a failure occurs, a trace is
then available when needed. Command tracing will slow down the
execution of code, so it should be removed when code is debugged. The
following command will enable tracing to a file for the remainder of
the program:
cmdtrace on [open cmd.log w]